Skip to content

feat(inputs.socket_listener): Add SSM/IGMPv3 support#18915

Merged
skartikey merged 5 commits into
influxdata:masterfrom
Maxcillius:feat/socket-listener-ssm-multicast
May 28, 2026
Merged

feat(inputs.socket_listener): Add SSM/IGMPv3 support#18915
skartikey merged 5 commits into
influxdata:masterfrom
Maxcillius:feat/socket-listener-ssm-multicast

Conversation

@Maxcillius
Copy link
Copy Markdown

Summary

Added feature in socket_listener for source specific multicast.

Related issues

resolves #18581

…urce option

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
@telegraf-tiger
Copy link
Copy Markdown
Contributor

Thanks so much for the pull request!
🤝 ✒️ Just a reminder that the CLA has not yet been signed, and we'll need it before merging. Please sign the CLA when you get a chance, then post a comment here saying !signed-cla

@telegraf-tiger telegraf-tiger Bot added feat Improvement on an existing feature such as adding a new setting/mode to an existing plugin plugin/input 1. Request for new input plugins 2. Issues/PRs that are related to input plugins labels May 14, 2026
@Maxcillius
Copy link
Copy Markdown
Author

!signed-cla

Copy link
Copy Markdown
Member

@srebhan srebhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Maxcillius for your contribution! I do have some comments in the code. Furthermore, please run make docs in Telegraf's project root to update the README.md file after modifying sample.conf.

Comment thread plugins/common/socket/datagram.go Outdated
Comment thread plugins/common/socket/datagram.go
Comment thread plugins/common/socket/datagram.go
Comment thread plugins/inputs/socket_listener/sample.conf Outdated
@srebhan srebhan changed the title feat(inputs.socket_listener): add SSM/IGMPv3 support via multicast_source option feat(inputs.socket_listener): Add SSM/IGMPv3 support May 19, 2026
@srebhan srebhan added the area/network New plugins or feature relating to Network Monitoring label May 19, 2026
@srebhan srebhan self-assigned this May 19, 2026
Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
@Maxcillius
Copy link
Copy Markdown
Author

Maxcillius commented May 19, 2026

you are right in addressing those. I have updated the code.

…ple config

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
srebhan
srebhan previously approved these changes May 20, 2026
Copy link
Copy Markdown
Member

@srebhan srebhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! Thanks @Maxcillius!

@srebhan srebhan dismissed their stale review May 20, 2026 11:35

Requires running make docs...

@srebhan
Copy link
Copy Markdown
Member

srebhan commented May 20, 2026

@Maxcillius can you please run make docs in the telegraf repository root and push the changes?!

… multicast_source

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
Copy link
Copy Markdown
Member

@srebhan srebhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Maxcillius one more thing to make the linter happy. It might be necessary to run make fmt after that change...

Comment thread plugins/common/socket/datagram.go Outdated
}

func newPacketListener(encoding string, maxDecompressionSize config.Size, maxWorkers int, allowedSources []net.IP, logger telegraf.Logger) *packetListener {
func newPacketListener(encoding string, maxDecompressionSize config.Size, maxWorkers int, allowedSources []net.IP, multicastSource string, logger telegraf.Logger) *packetListener {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please wrap the parameter list to make the linter happy. I think in the long run we should kick this function and fill the struct directly instead. But that's for another PR...

Suggested change
func newPacketListener(encoding string, maxDecompressionSize config.Size, maxWorkers int, allowedSources []net.IP, multicastSource string, logger telegraf.Logger) *packetListener {
func newPacketListener(
encoding string,
maxDecompressionSize config.Size,
maxWorkers int,
allowedSources []net.IP,
multicastSource string,
logger telegraf.Logger,
) *packetListener {

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
@telegraf-tiger
Copy link
Copy Markdown
Contributor

Copy link
Copy Markdown
Member

@srebhan srebhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Thanks @Maxcillius and sorry for the late response!

@srebhan srebhan added the ready for final review This pull request has been reviewed and/or tested by multiple users and is ready for a final review. label May 27, 2026
@srebhan srebhan assigned skartikey and unassigned srebhan May 27, 2026
Copy link
Copy Markdown
Contributor

@skartikey skartikey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Maxcillius Thanks for the contribution!

@skartikey skartikey merged commit 2807b72 into influxdata:master May 28, 2026
26 of 27 checks passed
@github-actions github-actions Bot added this to the v1.39.0 milestone May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/network New plugins or feature relating to Network Monitoring feat Improvement on an existing feature such as adding a new setting/mode to an existing plugin plugin/input 1. Request for new input plugins 2. Issues/PRs that are related to input plugins ready for final review This pull request has been reviewed and/or tested by multiple users and is ready for a final review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[inputs.socket_listener] Add support for Source-Specific-Multicast

3 participants